package com.cbj.netty.protocol;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;
import java.util.UUID;

/**
 * @author Godc
 * @description
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
public class Header implements Serializable {
    // 32位bit，可以设置很多信息，这里用于标识是Header是请求端，还是服务端
    int flag;
    long requestId;
    // 数据长度
    long dateLen;

    public static Header createHeader(byte[] msg){
        // 0x12121212表示发送端，没有特殊含义，可以随便自定义
        int flag = 0x12121212;
        int size = msg.length;
        long requestId = Math.abs(UUID.randomUUID().getLeastSignificantBits());
        Header header = new Header(flag, requestId, size);
        return header;
    }
}